Preamble

Analysis of the psychological effects of Covid-19 in Europe during the first weeks of the pandemic. Survey based on this project conducted by researchers around the world. Trying to map out all the factors, that might affects people’s psychological wellbeing and their ability to make good decisions during the COVID-19 (or “Coronavirus”) outbreak all over the world. Researchers form many countries are collaborating on this project, to help scientists and decision makers to help and communicate.
Why this project
The project was chosen as it deals with analyzing all those factors that in this emergency situation can have serious consequences in people’s lives, as the isolation, the economic situation and the stress due to the stringent measures to stop the pandemic are part of the side effects of covid-19. The survey on which the next analyzes are based was designed by social scientists and psychologists from more than 50 different universities. The study in question presents more than 150,000 individual respondents from more than 50 different countries. The following analyzes describe a series of variables selected within the survey, taking as a sample the responses provided by respondents located in Europe who answered the survey between March 30, 2020 and May 30, 2020.
For more info check this Nature article.
Stress level in Europe
An important point of the project is based on the analysis of perceived individual stress, obtained through the PSS Scale, based on the answers to 10 questions, invented by psychologists Cohen, Karmak, and Mermelstrein (1983), using indicators of stress responses, for instance, perceived lack of control over events, pressure from mounting difficulties and feeling upset about unexpected changes. Scores are considered moderate above 2.4, and high above 3.7. More infos about PSS Scale here
PSS scores are obtained by reversing responses (e.g., 0 = 4, 1 = 3, 2 = 2, 3 = 1 & 4 = 0) to the four positively stated items (items 4, 5, 7, & 8) and then summing across all scale items. A short 4 item scale can be made from questions 2, 4, 5 and 10 of the PSS 10 item scale.
#note that the na values are omitted
EU$Scale_PSS10_UCLA_4[EU$Scale_PSS10_UCLA_4 == 1] <- 5
EU$Scale_PSS10_UCLA_4[EU$Scale_PSS10_UCLA_4 == 2] <- 4
EU$Scale_PSS10_UCLA_4[EU$Scale_PSS10_UCLA_4 == 4] <- 2
EU$Scale_PSS10_UCLA_4[EU$Scale_PSS10_UCLA_4 == 5] <- 1
EU$Scale_PSS10_UCLA_5[EU$Scale_PSS10_UCLA_5 == 1] <- 5
EU$Scale_PSS10_UCLA_5[EU$Scale_PSS10_UCLA_5 == 2] <- 4
EU$Scale_PSS10_UCLA_5[EU$Scale_PSS10_UCLA_5 == 4] <- 2
EU$Scale_PSS10_UCLA_5[EU$Scale_PSS10_UCLA_5 == 5] <- 1
EU$Scale_PSS10_UCLA_7[EU$Scale_PSS10_UCLA_7 == 1] <- 5
EU$Scale_PSS10_UCLA_7[EU$Scale_PSS10_UCLA_7 == 2] <- 4
EU$Scale_PSS10_UCLA_7[EU$Scale_PSS10_UCLA_7 == 4] <- 2
EU$Scale_PSS10_UCLA_7[EU$Scale_PSS10_UCLA_7 == 5] <- 1
EU$Scale_PSS10_UCLA_8[EU$Scale_PSS10_UCLA_8 == 1] <- 5
EU$Scale_PSS10_UCLA_8[EU$Scale_PSS10_UCLA_8 == 2] <- 4
EU$Scale_PSS10_UCLA_8[EU$Scale_PSS10_UCLA_8 == 4] <- 2
EU$Scale_PSS10_UCLA_8[EU$Scale_PSS10_UCLA_8 == 5] <- 1
eu_stress <- select(EU,Country, Scale_PSS10_UCLA_1:Scale_PSS10_UCLA_10) %>%
ddply( .(Country), summarize,
Rate_PSS10_UCLA1=mean(Scale_PSS10_UCLA_1,na.rm=TRUE),
Rate_PSS10_UCLA2=mean(Scale_PSS10_UCLA_2,na.rm=TRUE),
Rate_PSS10_UCLA3=mean(Scale_PSS10_UCLA_3,na.rm=TRUE),
Rate_PSS10_UCLA4=mean(Scale_PSS10_UCLA_4,na.rm=TRUE),
Rate_PSS10_UCLA5=mean(Scale_PSS10_UCLA_5,na.rm=TRUE),
Rate_PSS10_UCLA6=mean(Scale_PSS10_UCLA_6,na.rm=TRUE),
Rate_PSS10_UCLA7=mean(Scale_PSS10_UCLA_7,na.rm=TRUE),
Rate_PSS10_UCLA8=mean(Scale_PSS10_UCLA_8,na.rm=TRUE),
Rate_PSS10_UCLA9=mean(Scale_PSS10_UCLA_9,na.rm=TRUE),
Rate_PSS10_UCLA10=mean(Scale_PSS10_UCLA_10,na.rm=TRUE))%>%
mutate(total_stress = rowMeans(select(., -Country)))
Levels of stress were moderate or lower in many countries. Poland and Portugal reported the highest levels of stress in Europe,and Denmark and the Netherlands the lowest.
Are men or women more stressed?
eu_stress_gender <- select(filter(EU,Dem_gender=="Male" | Dem_gender=="Female"), Dem_gender,
Scale_PSS10_UCLA_1:Scale_PSS10_UCLA_10) %>%
ddply( .(Dem_gender), summarize,
Rate_PSS10_UCLA1=mean(Scale_PSS10_UCLA_1,na.rm=TRUE),
Rate_PSS10_UCLA2=mean(Scale_PSS10_UCLA_2,na.rm=TRUE),
Rate_PSS10_UCLA3=mean(Scale_PSS10_UCLA_3,na.rm=TRUE),
Rate_PSS10_UCLA4=mean(Scale_PSS10_UCLA_4,na.rm=TRUE),
Rate_PSS10_UCLA5=mean(Scale_PSS10_UCLA_5,na.rm=TRUE),
Rate_PSS10_UCLA6=mean(Scale_PSS10_UCLA_6,na.rm=TRUE),
Rate_PSS10_UCLA7=mean(Scale_PSS10_UCLA_7,na.rm=TRUE),
Rate_PSS10_UCLA8=mean(Scale_PSS10_UCLA_8,na.rm=TRUE),
Rate_PSS10_UCLA9=mean(Scale_PSS10_UCLA_9,na.rm=TRUE),
Rate_PSS10_UCLA10=mean(Scale_PSS10_UCLA_10,na.rm=TRUE))%>%
mutate(total_stress = rowMeans(select(., -Dem_gender)))
In fact we can see that women results more stressed then men, as said in this Psychological article, many women also have to think about the housework and the children.
Which is the most stressed employment?
eu_stress_empl <- select(EU, Dem_employment,Scale_PSS10_UCLA_1:Scale_PSS10_UCLA_10) %>%
ddply( .(Dem_employment), summarize,
Rate_PSS10_UCLA1=mean(Scale_PSS10_UCLA_1,na.rm=TRUE),
Rate_PSS10_UCLA2=mean(Scale_PSS10_UCLA_2,na.rm=TRUE),
Rate_PSS10_UCLA3=mean(Scale_PSS10_UCLA_3,na.rm=TRUE),
Rate_PSS10_UCLA4=mean(Scale_PSS10_UCLA_4,na.rm=TRUE),
Rate_PSS10_UCLA5=mean(Scale_PSS10_UCLA_5,na.rm=TRUE),
Rate_PSS10_UCLA6=mean(Scale_PSS10_UCLA_6,na.rm=TRUE),
Rate_PSS10_UCLA7=mean(Scale_PSS10_UCLA_7,na.rm=TRUE),
Rate_PSS10_UCLA8=mean(Scale_PSS10_UCLA_8,na.rm=TRUE),
Rate_PSS10_UCLA9=mean(Scale_PSS10_UCLA_9,na.rm=TRUE),
Rate_PSS10_UCLA10=mean(Scale_PSS10_UCLA_10,na.rm=TRUE))%>%
mutate(total_stress = rowMeans(select(., -Dem_employment)))
Student is the most stressed category, as expected due to isolation and social distancing; Poland is the most stressed Nation and in fact in this article we can see that University Students recorded an highly level of stress during the Covid-19 pandemic
How stress level changed in Europe during the first weeks of Covid pandemic?
eu_stress_2months <- select(filter(EU,RecordedDate=="2020-03-30"|
RecordedDate=="2020-04-06"|
RecordedDate=="2020-04-12"|
RecordedDate=="2020-04-18"|
RecordedDate=="2020-04-24"|
RecordedDate=="2020-04-30"|
RecordedDate=="2020-05-05"|
RecordedDate=="2020-05-11"|
RecordedDate=="2020-05-17"|
RecordedDate=="2020-05-23"|
RecordedDate=="2020-05-30"),
RecordedDate,Scale_PSS10_UCLA_1:Scale_PSS10_UCLA_10) %>%
ddply( .(RecordedDate), summarize,
Rate_PSS10_UCLA1=mean(Scale_PSS10_UCLA_1,na.rm=TRUE),
Rate_PSS10_UCLA2=mean(Scale_PSS10_UCLA_2,na.rm=TRUE),
Rate_PSS10_UCLA3=mean(Scale_PSS10_UCLA_3,na.rm=TRUE),
Rate_PSS10_UCLA4=mean(Scale_PSS10_UCLA_4,na.rm=TRUE),
Rate_PSS10_UCLA5=mean(Scale_PSS10_UCLA_5,na.rm=TRUE),
Rate_PSS10_UCLA6=mean(Scale_PSS10_UCLA_6,na.rm=TRUE),
Rate_PSS10_UCLA7=mean(Scale_PSS10_UCLA_7,na.rm=TRUE),
Rate_PSS10_UCLA8=mean(Scale_PSS10_UCLA_8,na.rm=TRUE),
Rate_PSS10_UCLA9=mean(Scale_PSS10_UCLA_9,na.rm=TRUE),
Rate_PSS10_UCLA10=mean(Scale_PSS10_UCLA_10,na.rm=TRUE))%>%
mutate(total_stress = rowMeans(select(., -RecordedDate)))
Making a predictive model of stress during the first weeks of the pandemic.
mod = lm( total_stress ~RecordedDate, data = eu_stress_2months)
summary(mod)
Call:
lm(formula = total_stress ~ RecordedDate, data = eu_stress_2months)
Residuals:
Min 1Q Median 3Q Max
-0.14309 -0.06912 0.01819 0.05712 0.18498
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.416e+01 3.083e+01 -0.459 0.657
RecordedDate 9.017e-04 1.677e-03 0.538 0.604
Residual standard error: 0.1048 on 9 degrees of freedom
Multiple R-squared: 0.03112, Adjusted R-squared: -0.07653
F-statistic: 0.2891 on 1 and 9 DF, p-value: 0.6038
(Intercept) RecordedDate
-1.415720e+01 9.016732e-04
The stress level in the first two weeks was higher than the model predicted, in the third week it decreased a bit and then increased and repeated the cycle until the end of May. Unexpectedly in the end of the May the stress level increased again, it is weird because typically with the start of summer people should be less stressed; unfortunately we don’t have any data that will confirm this trend.
Sources of Distress
Now the analysis will focus on the cause of the stress of the respondents, asking them questions regarding various factors that represent a source of stress.
eu_stress_source <- select(EU, Expl_Distress_1:Expl_Distress_24)%>%
na.omit()
eu_stress_source = data.frame(apply(eu_stress_source,2,function(x)mean(x[x<99]))) %>%
tibble::rownames_to_column(var = "col1") %>%
`colnames<-`(c("stress_source", "mean"))
listlab<-(c("No religious activities", "Not knowing how to stop covid-19",
"Feeling ashamed for acting differently","Adapt work to Digital Platforms",
"Access to necessities(food etc..)","Behavior of adults I live with",
"Behavior of childrens I live with","Adapt to social life on digital platforms",
"No trovels outside my Country","Loneliness","Time i spend in proximity to others",
"Children's education","Civil services(Police,sanitations..)","Income",
"Not knowing about developments with Covid-19","Time I spend inside","Work",
"Job prospect","No social activities","Worry over friends and relatives who live far away",
"Not knowing how long the measures will last","Risk of catching covid-19",
"Risk of being hospedalized or dying","National economy"))
The results indicate that most respondents are concerned about the state of the national economy. Economic considerations were followed closely by health-related risks, such as the risks of being hospitalised and of contracting the new disease.
Trust in institutions
Partecipants were asked how much they trusted six key institutions in relation to the Covid-19 emergency (on ascale from 1 = not at all to 10 = completely), in particular partecipants were asked about their trust towards World Health Organization(WHO), the national governments’ efforts to tackle the COVID19, the Police, the civil service, the national government and the healt care systems.
Here OECD guidelines on measuring institutions trust.
eu_trust <- select(EU, OECD_insititutions_1:OECD_insititutions_6)%>%
na.omit()
eu_trust = data.frame(apply(eu_trust,2,function(x)mean(x))) %>%
tibble::rownames_to_column(var = "col1") %>%
`colnames<-`(c("trust", "mean"))
lablist<-(c("Country's Governments","Country's civil Service","Country's Police",
"Governments effort against covid-19","WHO","Country's Healthcare system"))
Europeans reported only medium level of trust at all, with the highest levels of trust for their countries’ healthcare system and the WHO. Notably, Countries governments reported the lowest level of trust.
How much citizens trust their own governments?
eu_mean_oecd1 <- select(EU,Country,OECD_insititutions_1) %>%
ddply( .(Country), summarize,
Rate_OECD_insititutions_1=mean(OECD_insititutions_1,na.rm=TRUE))%>%
arrange(desc( Rate_OECD_insititutions_1))
Noably, we see that Poland is the most stressed Nation but also one of the Country in which the population trust least in their own government Finland, on the other hand, is the nation with the least stress related to Covid, and it is also one of the Nations in which the population trust most in their own government.
## How much citizens trust the government’s effort to handle the pandemic?
eu_mean_oecd4 <- select(EU,Country,OECD_insititutions_4) %>%
ddply( .(Country), summarize,
Rate_OECD_insititutions_4=mean(OECD_insititutions_4,na.rm=TRUE))%>%
arrange(desc( Rate_OECD_insititutions_4))
Similar patterns as the trust level in the governments, with Bulgaria that reported the lowest level of trust for the national effort to handle the pandemic.
Trust in Countries’ Measure
It was also asked participants to judge the appropriateness of the countries’ measures in response to the COVID-19 on a scale from 0 (too little), to 5 (appropriate, the black dashed line in the graph), to 10 (too much).
eu_trustinc <- select(EU,Country,Trust_countrymeasure) %>%
group_by(Country) %>%
dplyr::summarize(Mean = mean(Trust_countrymeasure, na.rm=TRUE))
Slovakia and Slovenia were those countries where citizens considered the measures stronger than necessary; in the plot, the vertical mid-line indicates that the measures are appropriate. France and Hungary citizens judged their governments’response less than appropriate.
There is correlation between confidence in the measures taken by governments to tackle covid and the actions that the population has taken to reduce transmission?
eu_conf_corr <- select(EU,Country,OECD_insititutions_6,Compliance_1:Compliance_6) %>%
ddply( .(Country), summarize,
Rate_OECD=mean(OECD_insititutions_6,na.rm=TRUE),
Rate_Compliance_1=mean(Compliance_1,na.rm=TRUE),
Rate_Compliance_2=mean(Compliance_2,na.rm=TRUE),
Rate_Compliance_3=mean(Compliance_3,na.rm=TRUE),
Rate_Compliance_4=mean(Compliance_4,na.rm=TRUE),
Rate_Compliance_5=mean(Compliance_5,na.rm=TRUE))%>%
mutate(total_Compl = rowMeans(select(., -Country,-Rate_OECD)))
mod = lm( total_Compl ~Rate_OECD, data = eu_conf_corr)
summary(mod)
Call:
lm(formula = total_Compl ~ Rate_OECD, data = eu_conf_corr)
Residuals:
Min 1Q Median 3Q Max
-0.27076 -0.09898 0.03277 0.09216 0.26395
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.20673 0.15954 26.367 <2e-16 ***
Rate_OECD 0.03408 0.02464 1.383 0.179
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.1386 on 25 degrees of freedom
Multiple R-squared: 0.07106, Adjusted R-squared: 0.0339
F-statistic: 1.912 on 1 and 25 DF, p-value: 0.1789
(Intercept) Rate_OECD
4.20672802 0.03407768
From what emerges Poland not having confidence in the measures taken by governments does not even try to reduce transmission, while Denmark is in the opposite situation. In countries with higher trust towards governments ’efforts, citizens were also more likely to report higher levels of compliance with directives aimed at controlling the spread of the virus. Notably, Portugal reported higher levels of compliance than the model would predict based on the acceptance of government efforts. An outlier in the other direction, Latvia reported lower levels of compliance than those the model predicted, given levels of trust.
Will be government’s effort to handle Coronavirus more trusted over the time?
eu_trust2m <- select(filter(EU,RecordedDate=="2020-03-30"|
RecordedDate=="2020-04-06"|
RecordedDate=="2020-04-12"|
RecordedDate=="2020-04-18"|
RecordedDate=="2020-04-24"|
RecordedDate=="2020-04-30"|
RecordedDate=="2020-05-05"|
RecordedDate=="2020-05-11"|
RecordedDate=="2020-05-17"|
RecordedDate=="2020-05-23"|
RecordedDate=="2020-05-30"),RecordedDate,OECD_insititutions_6) %>%
ddply( .(RecordedDate), summarize,
Rate_OECD=mean(OECD_insititutions_6,na.rm=TRUE))
In the first month the trust for government’s effort to handle Coronavirus appears to increase, due to more stringent measures. But with beginning of the summer season Trust level seems to be decreasing, probably because in many countries, including ours, Italy, the measures were almost null.